package models

import (
	"time"
)

type Task struct {
	Command          string    `json:"command" xorm:"not null VARCHAR(256)"`
	Created          time.Time `json:"created" xorm:"not null DATETIME"`
	Deleted          time.Time `json:"deleted" xorm:"DATETIME"`
	DependencyStatus int       `json:"dependency_status" xorm:"not null default 1 TINYINT"`
	DependencyTaskId string    `json:"dependency_task_id" xorm:"not null default '' VARCHAR(64)"`
	HttpMethod       int       `json:"http_method" xorm:"not null default 1 TINYINT"`
	Id               int       `json:"id" xorm:"not null pk autoincr INT"`
	Level            int       `json:"level" xorm:"not null default 1 index TINYINT"`
	Multi            int       `json:"multi" xorm:"not null default 1 TINYINT"`
	Name             string    `json:"name" xorm:"not null VARCHAR(32)"`
	NotifyKeyword    string    `json:"notify_keyword" xorm:"not null default '' VARCHAR(128)"`
	NotifyReceiverId string    `json:"notify_receiver_id" xorm:"not null default '' VARCHAR(256)"`
	NotifyStatus     int       `json:"notify_status" xorm:"not null default 1 TINYINT"`
	NotifyType       int       `json:"notify_type" xorm:"not null default 0 TINYINT"`
	Protocol         int       `json:"protocol" xorm:"not null index TINYINT"`
	Remark           string    `json:"remark" xorm:"not null default '' VARCHAR(100)"`
	RetryInterval    int       `json:"retry_interval" xorm:"not null default 0 SMALLINT"`
	RetryTimes       int       `json:"retry_times" xorm:"not null default 0 TINYINT"`
	Spec             string    `json:"spec" xorm:"not null VARCHAR(64)"`
	Status           int       `json:"status" xorm:"not null default 0 index TINYINT"`
	Tag              string    `json:"tag" xorm:"not null default '' VARCHAR(32)"`
	Timeout          int       `json:"timeout" xorm:"not null default 0 MEDIUMINT"`
}
